unit FuncionarioDM;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  ZDataset, ZSqlUpdate, MainDM, db, QueryConditions;

type

  { TFuncionarioData }

  TFuncionarioData = class(TMainDataModule)
    FuncionarioDatasource: TDatasource;
    FuncionarioZQueryativo: TStringField;
    FuncionarioZQuerybairro: TStringField;
    FuncionarioZQuerycaixa_postal: TStringField;
    FuncionarioZQuerycep: TStringField;
    FuncionarioZQuerycomplemento: TStringField;
    FuncionarioZQuerydata_admissao: TDateField;
    FuncionarioZQuerydesc_cargo: TStringField;
    FuncionarioZQuerydesc_cidade: TStringField;
    FuncionarioZQueryemail: TStringField;
    FuncionarioZQueryendereco: TStringField;
    FuncionarioZQueryid_cargo: TLargeintField;
    FuncionarioZQueryid_cidade: TLargeintField;
    FuncionarioZQueryid_funcionario: TLargeintField;
    FuncionarioZQueryid_pessoa: TLargeintField;
    FuncionarioZQuerynome_pessoa: TStringField;
    FuncionarioZQuerynota: TStringField;
    FuncionarioZQuerynumero: TLongintField;
    FuncionarioZQuerynumero_dependentes: TLongintField;
    FuncionarioZQuerysalario: TFloatField;
    FuncionarioZQuerytelefone_celular: TStringField;
    FuncionarioZQuerytelefone_fax: TStringField;
    FuncionarioZQuerytelefone_fixo: TStringField;
    FuncionarioZQuerytipo: TStringField;
    FuncionarioZQueryuf: TStringField;
    FuncionarioZUpdate: TZUpdateSQL;
    FuncionarioZQuery: TZQuery;
    PessoaFisicaDatasource: TDatasource;
    PessoaFisicaZQuery: TZQuery;
    PessoaFisicaZQuerycpf: TStringField;
    PessoaFisicaZQuerydata_nascimento: TDateField;
    PessoaFisicaZQueryid_pessoa_fisica: TLargeintField;
    PessoaFisicaZQuerynome_mae: TStringField;
    PessoaFisicaZQueryrg_numero: TStringField;
    PessoaFisicaZUpdate: TZUpdateSQL;
    procedure DataModuleCreate(Sender: TObject);
    /// Abre o DataSet
    procedure OpenDataSet(); override;
    /// Fecha o DataSet
    procedure CloseDataSet(); override;
    /// Realiza busca
    /// @param(Condicoes são as condições para a busca)
    /// @param(Tabela é a tabela no banco de dados)
    procedure Search(Condicoes: TQueryConditions; Tabela: string); override;
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  FuncionarioData: TFuncionarioData;

implementation

uses ConnectionDM;

{ TFuncionarioData }

procedure TFuncionarioData.DataModuleCreate(Sender: TObject);
begin
   MainDataSet := FuncionarioZQuery;
end;

procedure TFuncionarioData.OpenDataSet;
begin
  ConnectionData.EmptyQuery(FuncionarioZQuery, 'funcionario');
end;

procedure TFuncionarioData.CloseDataSet;
begin
  PessoaFisicaZQuery.Close();
  FuncionarioZQuery.Close();
end;

procedure TFuncionarioData.Search(Condicoes: TQueryConditions; Tabela: string);
begin
   ConnectionData.OpenQueryConditions(FuncionarioZQuery, Tabela, Condicoes);
end;

initialization
  {$I funcionariodm.lrs}

end.

